Network coding increases the capacity or throughput of a wireless network by mixing information received from source nodes at an intermediate node, and retransmitting the mixed information to one or more destination nodes. The content of any information flowing out of the intermediate node can be derived by the destination nodes from the information which flowed into the intermediate node. The combination of network coding and wireless broadcasting can increase unicast throughput of bidirectional traffic using decoding techniques well known in the art.
FIG. 1 illustrates a conventional method (i.e. without network coding) of information exchange between a Base Station (BS) 102 and a Mobile Station (MS) 106 using a Relay Station (RS) 104. At time slot T1, MS 106 forwards packet “a” destined for BS 102. Since BS 102 is out of range, RS 104 intercepts packet “a” and relays it to BS 102 at time slot T2. At time slot T3, BS 102 forwards packet “b” to MS 106 in return, which is also intercepted and relayed via RS 104 at T4. Thus it takes four time slots to complete the information exchange between BS 102 and MS 106.
FIG. 2 illustrates an information exchange between BS 102 and MS 106, but in this scenario RS 104 employs conventional network coding. In this case, the intermediate node (i.e. RS 104) encodes and multicasts the information received from the source nodes (i.e. BS 102 and MS 106). At T1, MS 106 forwards packet “a” to RS 104. At T2, BS 102 forwards packet “b” to RS 104. At T3, RS 104 multicasts a mixture of packets “a+b” (where “+” refers to binary XOR encoding) to both BS 102 and MS 106. Accordingly, it takes three time slots to complete the information exchange. The scenario in FIG. 2 illustrates a Single-Input-Single-Output (SISO) antenna system, a BS-RS-MS scenario and equal time slot scheduling.
Conventional wireless network coding operates at a binary bit-level at the network layer or above with a SISO antenna system. Operating at the network layer or above typically results in complexity in terms of demodulation and decoding.
Known wireless communications schemes may involve the use of a single antenna or multiple antennas on a transmitter and/or receiver. A multiple-input, multiple-output (MIMO) wireless communication system has multiple communication channels that are used between a plurality of antennas at a transmitter and a receiver. Accordingly, in a MIMO system a transmitting device will have N transmit antennas, and a receiving device will have M receive antennas. Space-time coding controls what data is transmitted from each of the N transmit antennas. A space-time encoding function at the transmitter processes data to be transmitted and creates unique information to transmit from the N transmit antennas. Each of the M receive antennas will receive signals transmitted from each of the N transmit antennas. A space-time decoding function at the receiving device will combine the information sent from the N transmit antennas to recover the data.
In systems employing virtual MIMO, multiple mobile stations cooperatively transmit the data of a single mobile station so as to appear as a MIMO transmission. For example, two mobile stations with one antenna each can transmit one of the mobile stations data. A two antenna base station could then receive the two signals and process them using MIMO techniques. Adaptive virtual MIMO refers to a hybrid/combination of pure virtual MIMO and non-virtual MIMO and therefore includes virtual MIMO as a special case. More particularly, adaptive virtual MIMO means virtual MIMO, single input multiple output (SIMO), or a combination of virtual MIMO and SIMO. The advantage of adaptive virtual MIMO is a flexibility to adapt to different user channel conditions.